<summary>Windows cannot create any more device contexts (DCs), or a DC has requested a palette-indexed surface when the surface had no palette and the display mode was not palette-indexed (in this case DirectDraw cannot select a proper palette into the DC).</summary>
<summary>Retrieves a value that is true if the <see cref="T:Microsoft.DirectX.DirectDraw.Clipper" /> object is disposed; otherwise the value is false.</summary>
<summary>Obtains information about the driver. This method can be used, with caution, to recognize specific hardware installations to implement workarounds for poor driver or chipset behavior.</summary>
<summary>Resets the mode of the display device hardware for the primary surface to what it was before the SetDisplayMode method was called. Exclusive-level access is required to use this method.</summary>
<summary>Applications use the methods of the GammaControl object to adjust the red, green, and blue gamma ramp levels of the primary surface.</summary>
<summary>When StartModeTest is called with the IsTestRequired flag, it may throw this exception to denote that some or all of the resolutions can and should be tested. EvaluateMode throws this exception to indicate that the test has switched to a new display mode.</summary>
<summary>The GetOverlayPosition method is called on an overlay that the UpdateOverlay method has not been called on to establish as a destination.</summary>
<summary>The DirectDrawSurface object is not using a 4-bit color index palette, and the requested operation requires a 4-bit color index palette.</summary>
<summary>A surface represents a linear area of display memory. A surface usually resides in the display memory of the display card, although surfaces can exist in system memory. Unless specifically instructed otherwise during the creation of the Surface object, DirectDraw will put the Surface object wherever the best performance can be achieved given the requested capabilities. Surface objects can take advantage of specialized processors on display cards, not only to perform certain tasks faster, but to perform some tasks in parallel with the system CPU.</summary>
<summary>Prevents a system-memory surface from being paged out while a blit operation that uses direct memory access (DMA) transfers to or from system memory is in progress.</summary>
<summary>Restores a surface that has been lost. This occurs when the surface memory associated with the DirectDrawSurface object has been freed.</summary>
<summary>Retrieves the capabilities of the surface. These capabilities are not necessarily related to the capabilities of the display device.</summary>
<summary>A complex surface is being described. A complex surface results in the creation of more than one surface. The additional surfaces are attached to the root surface. The complex surface can be destroyed only by destroying the root.</summary>
<summary>This surface exists in true, local video memory, rather than nonlocal video memory. If this flag is specified, VideoMemory must be specified, as well. This flag cannot be used with the NonLocalVideoMemory flag.</summary>
<summary>This surface exists in nonlocal video memory, rather than true, local video memory. If this flag is specified, VideoMemory flag must be specified, as well. This cannot be used with the LocalVideoMemory flag.</summary>
<summary>This surface is any off-screen surface that is not an overlay, front-buffer, back-buffer, or alpha surface. It is used to identify plain surfaces.</summary>
<summary>This surface is an overlay. It might or might not be directly visible, depending on whether it is currently being overlaid onto the primary surface.</summary>
<summary>Changes made to this surface are immediately visible. It is always set for the primary surface, as well as for overlays while they are being overlaid and texture maps while they are being textured.</summary>
<summary>Only write access is permitted to the surface. Read access from the surface can cause a general protection (GP) fault, and the read results from this surface would not be meaningful.</summary>
<summary>Access to the surface is refused because the surface memory is gone. Call the Surface.Restore method on this surface to restore the memory associated</summary>
<summary>When thrown by StartModeTest method, this value means that no test could be initiated because all the resolutions chosen for testing already have refresh rate information in the registry.</summary>
<summary>The DirectDraw cooperative-level window has already been set. It cannot be reset while the process has surfaces or palettes created.</summary>
<summary>A combination of flags that determine the valid members of the associated DrawEffects structure, specify color-key information, or request special behavior from the method.</summary>
<summary>The search type flag determines how the method searches for matching surfaces; The matching flag determines whether the method enumerates all surfaces, only those that match, or only those that do not match the description.</summary>
<summary>DirectDraw supports only those overlay destination rectangles with the x-axis aligned to the AlignBoundaryDest boundaries of the surface.</summary>
<summary>DirectDraw supports only those overlay source rectangles with the x-axis aligned to the AlignBoundarySource boundaries of the surface.</summary>
<summary>Destination-rectangle size alignment for an overlay surface, in pixels. Overlay destination rectangles must have a pixel width that is a multiple of this value.</summary>
<summary>Source-rectangle size alignment for an overlay surface, in pixels. Overlay source rectangles must have a pixel width that is a multiple of this value.</summary>
<summary>The overlay can be automatically flipped to the next surface in the flipping chain each time that a video port VSYNC occurs, allowing the video port and the overlay to double-buffer the video without CPU overhead. This option is only valid when the surface is receiving data from a video port. If the video port data is noninterlaced or noninterleaved, it flips on every VSYNC. If the data is being interleaved in memory, it flips on every other VSYNC.</summary>
<summary>The color key is partially hardware-assisted. This means that other resources (CPU or video memory) might be used. If this bit is not set, full hardware support is in place.</summary>
<summary>The system has a calibrator installed that can automatically adjust the gamma ramp so that the result is identical on all systems that have a calibrator.</summary>
<summary>The overlay hardware can display each field of an interlaced video stream individually while it is interleaved in memory without causing any artifacts that might normally occur without special hardware support. This option is only valid when the surface is receiving data from a video port and the video is zoomed at least twice in the vertical direction.</summary>
<summary>The overlay hardware can display each field of an interlaced video stream individually while it is not interleaved in memory without causing any artifacts that might normally occur without special hardware support. This option is only valid when the surface is receiving data from a video port and the video is zoomed at least twice in the vertical direction.</summary>
<summary>Total amount of display memory on the device, in bytes, minus memory reserved for the primary surface and any private data structures reserved by the driver.</summary>
<summary>Luminance intensity, in IRE units times 100. The valid range is from 0 through 10,000. The default is 750, which translates to 7.5 IRE.</summary>
<summary>Relative difference between higher and lower intensity luminance values in IRE units times 100. The valid range is from 0 through 20,000. The default value is 10,000 (100 IRE). Higher values of contrast cause darker luminance values to tend toward black and lighter luminance values to tend toward white. Lower values of contrast cause all luminance values to move toward the middle of the scale.</summary>
<summary>Controls the amount of gamma correction applied to the luminance values. The valid range is from 1 through 500 gamma units, with a default of 1.</summary>
<summary>Phase relationship of the chrominance components. Hue is specified in degrees, and the valid range is from -180 through 180, with a default of 0.</summary>
<summary>Color intensity, in IRE units times 100. The valid range is from 0 through 20,000. The default value is 10,000, which translates to 100 IRE.</summary>
<summary>Unique identifier for the driver/chipset pair. Use this value if you want to track changes to the driver or chipset to reprofile the graphics subsystem. It can also be used to identify particular problematic drivers.</summary>
<summary>Supports alpha information in pixel format. The bit depth of alpha information in the pixel format can be 1, 2, 4, or 8. The alpha value becomes more opaque as the alpha value increases. Regardless of the depth of the alpha information, 0 is always the fully transparent value. Used for blit operations.</summary>
<summary>Supports alpha information in pixel format. The bit depth of alpha information in the pixel format can be 1, 2, 4, or 8. The alpha value becomes more transparent as the alpha value increases. Regardless of the depth of the alpha information, 0 is always the fully opaque value. This flag can be used only if Alpha is set. Used for draw operations.</summary>
<summary>Supports alpha-only surfaces. The bit depth of an alpha-only surface can be 1, 2, 4, or 8. The alpha value becomes more opaque as the alpha value increases. Regardless of the depth of the alpha information, 0 is always the fully transparent value. Used for blit operations.</summary>
<summary>Indicates that the alpha channel becomes more transparent as the alpha value increases. The depth of the alpha channel-data can be 1, 2, 4, or 8. Regardless of the depth of the alpha information, 0 is always the fully opaque value. This flag can be set only if Alpha has been set. Used for blit operations.</summary>
<summary>Supports alpha information in pixel format. The bit depth of alpha information in pixel format can be 1, 2, 4, or 8. The alpha value becomes more opaque as the alpha value increases. Regardless of the depth of the alpha information, 0 is always the fully transparent value. Used for overlays.</summary>
<summary>Supports alpha information in pixel format. The bit depth of alpha information in pixel format can be 1, 2, 4, or 8. The alpha value becomes more transparent as the alpha value increases. Regardless of the depth of the alpha information, 0 is always the fully opaque value. This flag can be used only if Alpha has been set. Used for overlays.</summary>
<summary>Supports alpha-only surfaces. The bit depth of an alpha-only surface can be 1, 2, 4, or 8. The alpha value becomes more opaque as the alpha value increases. Regardless of the depth of the alpha information, 0 is always the fully transparent value. Used for overlays.</summary>
<summary>Indicates that the alpha channel becomes more transparent as the alpha value increases. The depth of the alpha-channel data can be 1, 2, 4, or 8. Regardless of the depth of the alpha information, 0 is always the fully opaque value. This flag can be used only if Alpha has been set. Used for overlays.</summary>
<summary>Uses arithmetic operations, rather than pixel-doubling techniques, to stretch and shrink surfaces during a blit operation. Occurs along the y-axis (vertically).</summary>
<summary>Uses arithmetic operations, rather than pixel-doubling techniques, to stretch and shrink surfaces during a blit operation. Occurs along the y-axis (vertically), and works only for integer stretching (×1, ×2, and so on).</summary>
<summary>Supports integer shrinking (×1, ×2, and so on) of a surface along the x-axis (horizontally). This flag is valid only for blit operations.</summary>
<summary>Supports integer shrinking (×1, ×2, and so on) of a surface along the y-axis (vertically). This flag is valid only for blit operations.</summary>
<summary>Supports integer stretching (×1, ×2, and so on) of a surface along the x-axis (horizontally). This flag is valid only for blit operations.</summary>
<summary>Supports integer stretching (×1, ×2, and so on) of a surface along the y-axis (vertically). This flag is valid only for blit operations.</summary>
<summary>Supports geometric transformations (or warps) for blitted sprites. Transformations are not currently supported for explicit blit operations.</summary>
<summary>Uses arithmetic operations, rather than pixel-doubling techniques, to stretch and shrink overlay surfaces. Occurs along the y-axis (vertically).</summary>
<summary>Uses arithmetic operations, rather than pixel-doubling techniques, to stretch and shrink overlay surfaces. Occurs along the y-axis (vertically), and works only for integer stretching (×1, ×2, and so on).</summary>
<summary>Supports arbitrary shrinking of a surface along the x-axis (horizontally). This flag is valid only for overlay surfaces. This flag indicates only the capabilities of a surface; it does not indicate that shrinking is available.</summary>
<summary>Supports integer shrinking (×1, ×2, and so on) of a surface along the x-axis (horizontally). This flag is valid only for overlay surfaces. This flag indicates only the capabilities of a surface; it does not indicate that shrinking is available.</summary>
<summary>Supports arbitrary shrinking of a surface along the y-axis (vertically). This flag is valid only for overlay surfaces. This flag indicates only the capabilities of a surface; it does not indicate that shrinking is available.</summary>
<summary>Supports integer shrinking (×1, ×2, and so on) of a surface along the y-axis (vertically). This flag is valid only for overlay surfaces. This flag indicates only the capabilities of a surface; it does not indicate that shrinking is available.</summary>
<summary>Supports arbitrary stretching of a surface along the x-axis (horizontally). This flag is valid only for overlay surfaces. This flag indicates only the capabilities of a surface; it does not indicate that stretching is available.</summary>
<summary>Supports integer shrinking (×1, ×2, and so on) of a surface along the x-axis (horizontally). This flag is valid only for overlay surfaces. This flag indicates only the capabilities of a surface; it does not indicate that shrinking is available.</summary>
<summary>Supports arbitrary shrinking of a surface along the y-axis (vertically). This flag is valid only for overlay surfaces. This flag indicates only the capabilities of a surface; it does not indicate that shrinking is available</summary>
<summary>Supports integer shrinking (×1, ×2, and so on) of a surface along the y-axis (vertically). This flag is valid only for overlay surfaces. This flag indicates only the capabilities of a surface; it does not indicate that shrinking is available.</summary>
<summary>Supports arbitrary stretching of a surface along the x-axis (horizontally). This flag is valid only for overlay surfaces. This flag indicates only the capabilities of a surface; it does not indicate that stretching is available.</summary>
<summary>The palette is attached to the primary surface. Changing the palette has an immediate effect on the display unless the VSync capability is specified and supported.</summary>
<summary>The palette is attached to the primary surface on the left. Changing the palette has an immediate effect on the display unless the VSync capability is specified and supported</summary>
<summary>The surface uses the premultiplied alpha format. That is, the color components in each pixel are premultiplied by the alpha component.</summary>
<summary>The surface accepts RGB data and translates it during the write operation to YUV data. The format of the data to be written is contained in the pixel format structure. The Rgb flag is set.</summary>